Ext.onReady(function() {
    var psize = 18;
    var store;
    var jReader1;
    var nodeid;
    var nodename;
    
     var openUrl = basePath + 'JarpListener?className=cn.com.jsepc.rep.report.zhibiao_manage';
    openUrl += '&methodName=getGrid&paramCount=9';
    jReader1 = new Ext.data.JsonReader( {
        root : 'data',
        totalProperty : 'totalCount',
        fields : [ {
            name : 'repid'
        }, {
            name : 'repcode'
        }, {
            name : 'repname'
        }, {
            name : 'cataid'
        }, {
            name : 'cataname'
        }, {
            name : 'repdesc'
        }, {
            name : 'desc'
        }, {
            name : 'dataprec'
        }, {
            name : 'dataunit'
        }, {
            name : 'department'
        }, {
            name : 'departmentid'
        }, {
            name : 'sourcetype'
        }, {
            name : 'datatype'
        }, {
            name : 'updatetime'
        }, {
            name : 'reffact'
        }, {
            name : 'repvaluecol'
        }, {
            name : 'issum'
        }, {
            name : 'isvalid'
        } ]
    });

    store = new Ext.data.Store( {
        storeId : 'store1',
        proxy : new Ext.data.HttpProxy( {
            url : openUrl
        }),
        reader : jReader1,
        baseParams : {
            param_0 : 0,
            param_1 : psize,
            param_2 : "",
            param_3 : "",
            param_4 : "",
            param_5 : "",
            param_6 : "",
            param_7 : "",
            param_8 : ""
        }
    });
    

    var sm = new Ext.grid.CheckboxSelectionModel( {
        singleSelect : true,
        header:''
    });

    var cm = new Ext.grid.ColumnModel( [ sm, {
        header : '指标编号',
        sortable : true,
        hidden : true,
        dataIndex : 'repid'
    }, {
        header : '指标编码',
        sortable : true,
        width:50,
        dataIndex : 'repcode'
    }, {
        header : '指标名称',
        sortable : true,
        width:150,
        dataIndex : 'repname'
    }, {
        header : '所属分类',
        sortable : true,
        hidden : true,
        dataIndex : 'cataid'
    }, {
        header : '所属分类',
        sortable : true,
        dataIndex : 'cataname'
    }, {
        header : '指标含义',
        sortable : true,
        hidden : true,
        dataIndex : 'repdesc'
    }, {
        header : '算法描述',
        hidden : true,
        sortable : true,
        dataIndex : 'desc'
    }, {
        header : '数据精度',
        sortable : true,
        width:50,
        dataIndex : 'dataprec'
    }, {
        header : '数据单位',
        sortable : true,
        dataIndex : 'dataunit'
    }, {
        header : '归口部门',
        sortable : true,
        width:150,
        dataIndex : 'department'
    }, {
        hidden : true,
        header : '归口部门ID',
        sortable : true,
        dataIndex : 'departmentid'
    }, {
        header : '数据来源类型',
        sortable : true,
        dataIndex : 'sourcetype',
        renderer : function(v) {
            if (v == 1) {
                return "自动抽取";
            } else if (v == 2) {
                return "手工填报";
            }
        }
    }, {
        header : '数据口径',
        sortable : true,
        dataIndex : 'datatype',
        hidden : true
    }, {
        header : '更新周期',
        sortable : true,
        width:50,
        dataIndex : 'updatetime',
        renderer : function(v) {
            if (v == 1) {
                return "年";
            } else if (v == 2) {
                return "季";
            } else if (v == 3) {
                return "月";
            } else if (v == 4) {
                return "日";
            } else if (v == 5) {
                return "时";
            } else if (v == 6) {
                return "分";
            }
        }
    }, {
        header : '关联事实表',
        sortable : true,
        dataIndex : 'reffact'
    }, {
        hidden : true,
        header : '指标值字段',
        sortable : true,
        dataIndex : 'repvaluecol'
    }, {
        header : '是否聚合',
        sortable : true,
        hidden : true,
        dataIndex : 'issum',
        renderer : function(v) {
            if (v == 1) {
                return "是";
            } else if (v == 0) {
                return "否";
            }
        }
    }, {
        header : '是否可用',
        sortable : true,
        hidden : true,
        dataIndex : 'isvalid',
        renderer : function(v) {
            if (v == 1) {
                return "是";
            } else if (v == 0) {
                return "否";
            }
        }
    } ]);

    var grid = new Ext.grid.GridPanel( {
        id : 'ggg',
        store : store,
       // region : 'cneter',
        anchor: '100% -111',
        viewConfig : {
            forceFit : true
        },
    	   sm : sm,
        cm : cm,
        frame : true,
        columnLines : true,
     //  height : screen.height - 350,
      // height : '100%',
        autoWidth:true,
        loadMask:true,//数据加载时的遮罩功能 
        stateful : true,
        stateId : 'grid',
        bbar : new Ext.PagingToolbar( {
            store : store,
            paramNames : {
                start : 'param_0',
                limit : 'param_1'
            },
            emptyMsg : '没有数据需要显示',
            displayInfo : true,
            pageSize : psize,
            listeners : {
                beforechange : function(bar, params) {
                    bar.store.setBaseParam("param_2", Ext.ComponentMgr.get(
                        "mingcheng").getValue());
                    bar.store.setBaseParam("param_3", Ext.ComponentMgr.get(
                        "bumen").getValue());
                    bar.store.setBaseParam("param_4", Ext.ComponentMgr.get(
                        "laiyuan").getValue());
                    bar.store.setBaseParam("param_5", Ext.ComponentMgr.get(
                        "koujing").getValue());
                    bar.store.setBaseParam("param_6", Ext.ComponentMgr.get(
                        "zhouqi").getValue());
                    bar.store.setBaseParam("param_7", nodeid);
                    bar.store.setBaseParam("param_8", Ext.ComponentMgr.get(
                        "bianma").getValue());
                }
            }
        })
    });
    store.load();

    // *********************头部Toolbar**************************//

    var toolbar = new Ext.Toolbar( {
        id : 'toolbar',
        stateful : true,
        items : [ '-', {
            id : 'show-btn',
            text : '新增',
            handler : function() {
        	var tree = Ext.ComponentMgr.get("terr_fenlei");
        	var node = tree.getSelectionModel().getSelectedNode();
        	if(node == null){
        		Ext.Msg.alert('提示：','请先选择所属分类');
        	}else{
        		if(node.hasChildNodes()){
        			Ext.Msg.alert('提示：','此分类有子集，请从子集中选择所属分类');
        		}else{
        			show_add();
        		}
        	}
            }
        }, '-', {
            id : 'update-btn',
            text : '编辑',
            handler : function() {
                show_edit();
            }
        }, '-', {
            id : 'del-btn',
            text : '删除',
            handler : function() {
            }
        }, '-', {
            id : 'demention',
            text : '关联维度',
            handler : function() {
            }
        }, '-', {
            id : 'canshu-btn',
            text : '指标参数',
            handler : function() {
                //show_canshu();
                var re_grid = Ext.ComponentMgr.get("ggg").getSelectionModel().getSelected();
                if (re_grid){
                    var repid=re_grid.data.repid;
                    window.showModalDialog("../report_para/process_rep_relate.jsp?repid="+repid, '','dialogWidth=800px;dialogHeight=600px;status:no;resizable:yes;');
                }else{
                    Ext.Msg.alert('提示','请选择指标');
                }
            }
        }, '-', {
            xtype : "hidden",
            id : 'getnode_id'
        }, {
            xtype : "hidden",
            id : 'getnode_name'
        }
        ]
    });

    // ***********************下拉树******************************//

    var selectedNode_dept_cx = null;
    var comb_dept_cx = new Ext.form.ComboBox(
    {
        id : 'dept_cx',
        store : new Ext.data.SimpleStore( {
            fields : [],
            data : [ [] ]
        }),
        editable : false,
        fieldLabel : '归口部门',
        shadow : false,
        mode : 'local',
        emptyText : '请选择归口部门',
        anchor : '100%',
        triggerAction : 'all',
        tpl : '<tpl for="."><div style="height:200px"><div id="tree_dept_cx"></div></div></tpl>',
        selectedClass : '',
        onSelect : Ext.emptyFn
    });

    var tree_root_dept_cx = new Ext.tree.AsyncTreeNode( {
        text : '部门',
        id : -1
    });

    var tree_dept_cx = new Ext.tree.TreePanel(
    {
        border : '0',
        height : 200,
        useArrows : true,
        autoScroll : true,
        animate : true,
        enableDD : false,
        containerScroll : true,
        rootVisible : false,
        root : tree_root_dept_cx,
        lines : false,
        iconCls : 'nav',
        checkModel : 'cascade',
        onlyLeafCheckable : false,
        titleCollapse : true,
        listeners : {
            beforeload : function(node) {
                var openUrl_cx = basePath + 'JarpListener?className=cn.com.jsepc.rep.report.CorpDeptTree&methodName=getCorpDeptTreeData&paramCount=2';
                openUrl_cx += '&param_0=' + node.id + '&param_1=';
                node.loader = new Ext.tree.TreeLoader( {
                    dataUrl : openUrl_cx
                });
            }
        }
    });

//    comb_dept_cx.on('expand', function() {
//    	tree_dept_cx.render('tree_dept_cx');
//    });
    
    comb_dept_cx.on('expand', function () {
	 	tree_dept_cx.render('tree_dept_cx');
        comb_dept_cx.canCollapse = true;
        if (tree_dept_cx) {
            comb_dept_cx.canCollapse = true;          
            tree_dept_cx.getRootNode().expand();
	        }
	    });
 
	 comb_dept_cx.on('collapse', function() {
	        if (!comb_dept_cx.canCollapse) {
	            comb_dept_cx.expand();
	        }
	    });    
	 
    tree_dept_cx.on('click', function(node) {
 //     selectedNode_dept_cx = node;
    	selectedNode_dept_cx = null;
        var nodename = node.text;
        var nodeid = node.id;
        // 给隐藏域设值
        Ext.ComponentMgr.get("dept_cx").setValue(nodename);
        Ext.ComponentMgr.get("bumen").setValue(nodeid);
 //       comb_dept_cx.collapse();
 //       comb_dept_cx.canCollapse = true; //add
 //       comb_dept_cx.collapse();//add
    });

 //     tree_dept_cx.on('expandnode', function(node) {
 //         comb_dept_cx.expand();
 //     });

    tree_dept_cx.on('expandnode', function() { comb_dept_cx.canCollapse = true; });  //当节点展开时触发
    tree_dept_cx.on('beforeload', function() { comb_dept_cx.canCollapse = false; });  //在节点加载之前触发，若有false返回就取消事件。
    tree_dept_cx.on('beforeexpandnode', function() { comb_dept_cx.canCollapse = false; });  //在节点展开之前触发，若有false返回就取消事件
    tree_dept_cx.on('beforecollapsenode', function() { comb_dept_cx.canCollapse = false; }); //在节点闭合之前触发，若有false返回就取消事件


    // ******************查询条件面板**********************//

    var p_field_chaxun = new Ext.FormPanel(
    {
        anchor: '100%',
        id : 'p_query',
        layout : 'form',
        border : false,
	        items : [ {
	            title : '查询条件',
	            layout : 'form',
	            xtype : 'fieldset',
	            collapsible : true,
	            collapsed : false,
	            labelAlign : 'right',
	            height : '100%',
	            width : '100%',
	            items : [
		            {
		                layout : 'column',
		                border : false,
		                items : [ {
		                    columnWidth : .3,
		                    layout : 'form',
		                    labelWidth : 80,
		                    border : false,
		                    items : [ {
		                        xtype : "textfield",
		                        fieldLabel : '指标名称',
		                        emptyText : '请填写',
		                        width : '90%',
		                        id : 'mingcheng'
		                    } ]
		                },{
		                    columnWidth : .3,
		                    layout : 'form',
		                    labelWidth : 80,
		                    border : false,
		                    items : [ {
		                        xtype : "textfield",
		                        fieldLabel : '指标编码',
		                        emptyText : '请填写',
		                        width : '90%',
		                        id : 'bianma'
		                    } ]
		                } ,
	                {
	                    columnWidth : .2,
	                    layout : 'form',
	                    labelWidth : 80,
	                    anchor : '80%',
	                    border : false,
	                    items : [ {
	                        xtype : "combo",
	                        triggerAction : "all",
	                        fieldLabel : "更新周期",
	                        emptyText : '请选择',
	                        blankText : '此项必选',
	                        id : 'zhouqi',
	                        anchor : '100%',
	                        editable : false,
	                        store : [ [ '1', '年' ],
	                        [ '2', '季' ],
	                        [ '3', '月' ],
	                        [ '4', '日' ],
	                        [ '5', '时' ],
	                        [ '6', '分' ],
	                        [ '7', '全部' ] ]
	                    } ]
	                } ]
		            },
	            {
	                layout : 'column',
	                border : false,
	                items : [
	                {
	                    columnWidth : .3,
	                    layout : 'form',
	                    labelWidth : 80,
	                    border : false,
	                    bodyStyle : 'padding:5px 0 0',
	                    items : [
	                    {
	                        xtype : 'hidden',
	                        id : 'koujing'
	                    },
	                    {
	                        xtype : "combo",
	                        triggerAction : "all",
	                        fieldLabel : "数据来源",
	                        anchor : '93%',
	                        emptyText : '请选择',
	                        id : 'laiyuan',
	                        editable : false,
	                        store : [
	                        [ '1',
	                        '自动抽取' ],
	                        [ '2',
	                        '手工填报' ],
	                        [ '3', '全部' ] ]
	                    } ]
	                }, {
		                    columnWidth : .4,
		                    layout : 'form',
		                    labelWidth : 80,
		                    border : false,
		                    bodyStyle : 'padding:5px 0 0',
		                    items : [ comb_dept_cx, {
		                        id : 'bumen',
		                        fieldLabel : '归口部门',
		                        xtype : "hidden"
		                    } ]
		                },
	                {
	                    columnWidth : .2,
	                    layout : 'form',
	                    labelWidth : 80,
	                    anchor : '100%',
	                    border : false,
	                    bodyStyle : 'padding:5px 0 5px 60px',
	                    items : [ {
	                        xtype : "button",
	                        id : 'query_tbar',
	                        text : "查  询",
	                        width : 60,
	                        handler : function() {
	                            query();
	                        }
	                    } ]
	                }]
	            } ]
	        } ]
    });

    // **********************指标管理整体框架*********************//

    var viewport = new Ext.Viewport( {
        layout : 'border',
        items : [ {
            region : 'center',
            layout : 'border',
            tbar : toolbar,
            items : [ {
                tools : [ {
                    id : 'refresh',
                    handler : function() {
                        if (tree_root != null) {
                            tree_root.reload();
                        }
                    }
                } ],
                region : 'west',
                id : 'west-panel',
                title:'指标分类',
                split:true,
                collapsible : true,
                width : 200,
                html : '<div id="tree_div"></div>'
            },{
                region : 'center',
              //  layout : 'accordion',
              layout:"anchor",
                frame : true,
                title : '指标列表',
                deferredRender : false,
                activeTab : 0,
                items : [p_field_chaxun,grid]
            }]
        } ]
    });

    // ****************左侧树*********************//

    var tree_root = new Ext.tree.AsyncTreeNode( {
        text : '指标分类',
        id : '0'
    });
    var tree = new Ext.tree.TreePanel(
    {
        id : 'terr_fenlei',
        renderTo : 'tree_div',
        border : '0',
        height : 900,
        //frame : true,
        useArrows : true,
        autoScroll : true,
        animate : true,
        enableDD : false,
        containerScroll : true,
        rootVisible : true,
        root : tree_root,
        autoScroll : true,
        listeners : {
            beforeload : function(node) {
                var openUrl = basePath + 'JarpListener?className=cn.com.jsepc.rep.catalog.CatalogDAO&methodName=getCatalog&paramCount=0'
                node.loader = new Ext.tree.TreeLoader( {
                    dataUrl : openUrl
                });
            }
        }
    });
   

    // *******************************查询功能**********************************//

    tree.on('click', function(node) {
        nodeid = node.id;
        nodename = node.text;
        if (nodeid != 0) {
            store.load( {
                params : {
                    param_2 : Ext.getCmp("mingcheng").getValue(),
                    param_3 : Ext.getCmp("bumen").getValue(),
                    param_4 : Ext.getCmp("laiyuan").getValue(),
                    param_5 : "",
                    param_6 : Ext.getCmp("zhouqi").getValue(),
                    param_7 : nodeid,
                    param_8 : Ext.getCmp("bianma").getValue()
                }
            });
            Ext.ComponentMgr.get("getnode_name").setValue(nodename);
            Ext.ComponentMgr.get("getnode_id").setValue(nodeid);
        } else {
            store.load( {
                params : {
                    param_2 : "",
                    param_3 : "",
                    param_4 : "",
                    param_5 : "",
                    param_6 : "",
                    param_7 : nodeid,
                    param_8 : ""
                }
            });
            setempty();
        }
    });

    function query() {
        var keyword_2 = Ext.ComponentMgr.get("mingcheng").getValue();
        var keyword_3 = Ext.ComponentMgr.get("bumen").getValue();
        var keyword_4 = Ext.ComponentMgr.get("laiyuan").getValue();
        var keyword_5 = Ext.ComponentMgr.get("koujing").getValue();
        var keyword_6 = Ext.ComponentMgr.get("zhouqi").getValue();
        var keyword_8 = Ext.ComponentMgr.get("bianma").getValue();

        store.load( {
            params : {
                param_2 : keyword_2,
                param_3 : keyword_3,
                param_4 : keyword_4,
                param_5 : keyword_5,
                param_6 : keyword_6,
                param_7 : nodeid,
                param_8 : keyword_8
            }
        });
    }

    function setempty() {
        Ext.ComponentMgr.get("mingcheng").setValue("");
        Ext.ComponentMgr.get("bumen").setValue("");
        Ext.ComponentMgr.get("laiyuan").setValue("");
        Ext.ComponentMgr.get("koujing").setValue("");
        Ext.ComponentMgr.get("zhouqi").setValue("");
        Ext.ComponentMgr.get("dept_cx").setValue("");
        Ext.ComponentMgr.get("bianma").setValue("");
    }
;
});